﻿var contact = {
    vNome: null,
    vEmail: null,
    vCPF: null,
    vEstado: null,
    vCidade: null,
    vDDDTelefone: null,
    vTelefone: null,
    vDDDCelular: null,
    vCelular: null,
    vMensagem: null,
    vCheck: false,
    
    init: function(){
    
        trace('contact : init');
        
        $.each($('.contact-us .ct ul li.phone'), function(i, item){
            $(item).find('div.bx-input').eq(0).addClass('input1');
            $(item).find('div.bx-input').eq(1).addClass('input2');
        });
        
        $('.contact-us .ct ul li.state').find('div').css({'margin-left':'-5px'});
        $('.contact-us .ct ul li.city').find('div').css({'margin-left':'-5px'});
        $('.contact-us .ct ul li.message').find('div').css({'margin-left':'-5px'});
        
        contact.vNome = $('#txtNome');
        contact.vEmail = $('#txtEmail');
        contact.vCPF = $('#txtCPF');
        contact.vEstado = $('#txtEstado');
        contact.vCidade = $('#txtCidade');
        contact.vDDDTelefone = $('#txtDDDTelefone');
        contact.vTelefone = $('#txtTelefone');
        contact.vDDDCelular = $('#txtDDDCelular');
        contact.vCelular = $('#txtCelular');
        contact.vMensagem = $('#txtMensagem');
        
        $('.contact-us .ct ul li').find("input, textarea").val('');
        
        $('#txtTelefone').bind('keypress', contact.formataTEL);
        
        $('.contact-us .ct ul li').find('select').bind('change', function() {
            $(this).prev().text($(this).find(':selected').text());

        }).css({ opacity: '0' });
        
        $('.contact-us .ct ul li').find(':selected').val(0);
        
        $('.contact-us .ct ul li').find('input, textarea').keyup(contact.validaForm);
        
        $('.contact-us .ct ul li a.bt-send').bind('click', contact.checkAll);
	},

	/* ------------------------------------------
    * @add funcoes de validacao
    * ------------------------------------------
    */
    
    checkEmail: function(obj) {
        if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test($(obj).val())) return true;
        else return false;
    },

    checkBlank: function(obj) {
        if ($(obj).val() != '') return true;
        else return false;
    },

    checkNaN: function(obj) {
        if (isNaN($(obj).val()) == true) return true;
        else return false;
    },

    onlyNumbers: function(obj) {
        setTimeout(function() {
            str = $(obj).val();
            str = str.replace(/\D/g, "");
            $(obj).val(str);
        }, 1);
    },
    
    formataTEL: function() {
        var _this = this;
        setTimeout(function() {
            var str = $(_this).val();
            str = str.replace(/\D/g, "");
            str = str.replace(/^(\d\d)(\d)/g, "($1)$2");
            str = str.replace(/(\d{4})(\d)/, "$1-$2");

            $(_this).val(str);

            if (str.length == 9)
                $(_this).removeClass("erro");
            else
                $(_this).addClass("erro");

        }, 1);
    },

    checkAll: function() {
        contact.vCheck = true;

        if (!contact.checkBlank(contact.vNome)) {
            contact.vCheck = false;
            contact.vNome.parent().parent().addClass('erro');
            $('.alert').show();
        }else {
            contact.vNome.parent().parent().removeClass('erro');
            $('.alert').hide();
        }
        
        if (!contact.checkBlank(contact.vEmail) || !contact.checkEmail(contact.vEmail)) {
            contact.vCheck = false;
            contact.vEmail.parent().parent().addClass('erro');
            $('.alert').show();
        }else {
            contact.vEmail.parent().parent().removeClass('erro');
            $('.alert').hide();
        }
        
        if (!contact.checkBlank(contact.vCPF)) {
            contact.vCheck = false;
            contact.vCPF.parent().parent().addClass('erro');
            $('.alert').show();
        }else {
            contact.vCPF.parent().parent().removeClass('erro');
            $('.alert').hide();
        }
        
        if (contact.vEstado.find(':selected').val() == 0) {
            contact.vCheck = false;
            contact.vEstado.parent().parent().addClass('erro');
            $('.alert').show();
        } else{
			contact.vEstado.parent().parent().removeClass('erro');;
			$('.alert').hide();
        }
        
        if (contact.vCidade.find(':selected').val() == 0) {
            contact.vCheck = false;
            contact.vCidade.parent().parent().addClass('erro');
            $('.alert').show();
        } else{
			contact.vCidade.parent().parent().removeClass('erro');;
			$('.alert').hide();
        }
        
        if (!contact.checkBlank(contact.vDDDTelefone)) {
            contact.vCheck = false;
            contact.vDDDTelefone.parent().parent().addClass('erro');
            $('.alert').show();
        }else {
            contact.vDDDTelefone.parent().parent().removeClass('erro');
            $('.alert').hide();
        }
        
        if (!contact.checkBlank(contact.vTelefone)) {
            contact.vCheck = false;
            contact.vTelefone.parent().parent().addClass('erro');
            $('.alert').show();
        }else {
            contact.vTelefone.parent().parent().removeClass('erro');
            $('.alert').hide();
        }
        
        if (!contact.checkBlank(contact.vMensagem)) {
            contact.vCheck = false;
            contact.vMensagem.parent().parent().addClass('erro');
            $('.alert').show();
        }else {
            contact.vMensagem.parent().parent().removeClass('erro');
            $('.alert').hide();
        }

        if (contact.vCheck){
            contact.enviarCadastro();
        }

        return this.vCheck;
    },

    validaForm: function() {
        if (!contact.checkBlank($(this))) {
            $(this).parent().addClass('erro');
        } else if ($(this).attr("id") == "email" && !contact.checkEmail($(this))) {
            $(this).parent().addClass('erro');
        } else {
            $(this).parent().removeClass("erro");
        }
        
        return false;
    },

    enviarCadastro: function() {
        
        var _name = contact.vNome.val();
        var _email = contact.vEmail.val();
        var _cpf = contact.vCPF.val();
        var _state = contact.vEstado.val();
        var _city = contact.vCidade.val();
        var _ddd_phone_home = contact.vDDDTelefone.val();
        var _phone_home = contact.vTelefone.val();
        var _ddd_phone_mobile = contact.vDDDCelular.val();
        var _phone_mobile = contact.vCelular.val();
        var _message = contact.vMensagem.val();
		
        $.ajax({
            type: "POST",
            
            url: "/ajax/send.asp",
            
            global: true,
            
            data: {
				"name": _name,
				"email": _email,
				"cpf": _cpf,
				"state": _state,
				"city": _city,
				"ddd_phone_home": _ddd_phone_home,
				"phone_home": _phone_home,
				"ddd_phone_mobile": _ddd_phone_mobile,
				"phone_mobile": _phone_mobile,
				"message": _message 
			},
			
            success: function(msg) {
                if (msg.toLowerCase() == "true") {
                    $('.sucess').show();
                    $('.contact-us .ct ul li').find("input, textarea").val('');
                    setInterval(function(){
                        $('.sucess').hide();
                    },1000);
                } else {
                    contact.errorCadastro();
                }
            },
            error: function(msg) {
                contact.errorCadastro();
                $('.fail').show();
            }
        });
    },

    errorCadastro: function() {
        $('.txtFaha').show();
    }
};

$(document).ready(contact.init);